package com.zhangtai.modules.entity.contract;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;


/**
 * 培训协议
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2020-10-21 16:30:00
 */
@Data
@TableName("tb_protocol")
public class ProtocolEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 协议id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long id;
    /**
     * 甲方主体
     */
    private String company;
    /**
     * 甲方主体id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long companyId;
    /**
     * 项目名称
     */
    private String projectName;
    /**
     * 培训机构
     */
    private String trainingStructure;
    /**
     * 培训开始时间
     */
    private Date trainingStartTime;
    /**
     * 培训结束时间
     */
    private Date trainingEndTime;
    /**
     * 培训方式   0 全脱产  1  半脱产  2 不脱产
     */
    private Integer trainingMethod;
    /**
     * 培训地点
     */
    private String trainingLocation;
    /**
     * 签订合同日期
     */
    private Date signedTime;
    /**
     * 培训类型
     * export const trainingTypes = [
     * { label: '外聘老师', value: 0 },
     * { label: '考察学习', value: 1 },
     * { label: '外出参训', value: 2 },
     * ]
     */
    private Integer trainingType;
    /**
     * 培训人数
     */
    private Integer trainingNum;
    /**
     * 状态  0 未发起  1签订中 2 已签订
     */
    private Integer status;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 0:未删除，1：已删除
     */
    private Integer isDelete;
    /**
     * 创建人
     */
    private String createName;
    /**
     * 创建人 code
     */
    private String createCode;
    /**
     * 培训模板
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long template;
    /**
     * 附件地址
     */
    private String fileUrl;
    /**
     *
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long unitId;


}
